Inductive Program Synthesis by Using a Reversible Meta-Interpreter
نویسندگان
چکیده
Program synthesis by examples is more convenient than using conventional techniques, since it only requires examples instead of a detailed speci cation. In spite of this convenience, relatively little research in this type of synthesis has so far been carried out. A major obstacle is that, due to the similarity-based and data-driven features of this technique, many examples and considerable computation power are required to synthesize a complex program. To overcome this di culty, we propose that the learning of empirical synthesis processes be based on their explanations, in which the system explains how other similar programs are synthesized from given examples and transfers the explanation to the target. Since the programming know-how involved in the similar programs is already available, new programs are easily synthesized using only a small number of examples.
منابع مشابه
Compositional Relational Programming with Name Projection and Compositional Synthesis
CombInduce is a methodology for inductive synthesis of logic programs, which employs a reversible meta-interpreter for synthesis, and uses a compositional relational target language for efficient synthesis of recursive predicates. The target language, Combilog, has reduced usability due to the lack of variables, a feature enforced by the principle of compositionality, which is at the core of th...
متن کاملLibrary for Systematic Search for Expressions
In our previous work we showed that systematic search approach to inductive functional programming automation makes a remarkably efficient algorithm, but the applicability of the implemented program was limited by the very poor interpreter incorporated. In this paper, we present a library-based implementation of our systematic search algorithm which is supposed to be used with a well-known Hask...
متن کاملCreating Specialised Integrity Checks Through Partial Evaluation of Meta-Interpreters
Integrity constraints are useful for the specification of deductive databases, as well as for inductive and abductive logic programs. Verifying integrity constraints upon updates is a major efficiency bottleneck and specialised methods have been developed to speedup this task. They can however still incur a considerable overhead. In this paper we propose a solution to this problem by using part...
متن کاملSummary - TerpreT: A Probabilistic Programming Language for Program Induction
We study machine learning formulations of inductive program synthesis; that is, given input-output examples, synthesize source code that maps inputs to corresponding outputs. Our key contribution is TERPRET, a domain-specific language for expressing program synthesis problems. A TERPRET model is composed of a specification of a program representation and an interpreter that describes how progra...
متن کاملPartial Deduction of the Ground Representation and its Application to Integrity Checking
Integrity constraints are very useful in many contexts, such as, for example, deductive databases, abductive and inductive logic programming. However, fully testing the integrity constraints after each update or modiication can be very expensive and methods have been developed which simplify the integrity constraints. In this paper, we pursue the goal of writing this simpliication procedure as ...
متن کامل